#!/usr/bin/env bash

# Agenda Telefonica que
# puxa informação de um Banco de Dados CSV
# 1 - Vamos armazenar usuario ao banco de dados


#============= Variaveis Globais =====================#

banco_de_dados="banco_de_dados"

#=========== teste inicial ========================#

[[ ! -e "$banco_de_dados" ]] && {
cat > "$banco_de_dados" <<fim
############ ID:CPF:NOME:DDD:TELEFONE #####################
fim
}


[[ "$UID" = 0 ]] && { echo "Root não" ; exit 1 ; }


#=================== Funções ==================================#

function adicionar(){
  i="1"
   for dados in "Nome" "CPF" "DDD" "Telefone"; do
      while [[ -z "${dados[i]}" ]]; do
         read -p "${dados}: " dados[i]
      done
      let i++
   done

if ! grep -qo "${dados[1]}" "$banco_de_dados"; then
   dados[2]=$(sed 's/\.//g ' <<< "${dados[2]}")
   echo "-----${dados[2]}"
   ID=$(($(wc -l < "$banco_de_dados")-1))
   echo -e "${ID}:${dados[1]}:${dados[2]}:${dados[3]}:${dados[4]}" | tr ' A - Z ' ' a - z ' >> "$banco_de_dados"
else
   echo "este usuario já existe no banco de dados"
   exit 1;
fi
}


function buscar(){
  read -p "ID Usuario: " usuario
  [[ -z "$usuario" ]] && exit 1;
  if grep -qio "$usuario" "banco_de_dados"; then
       ID=$(grep "$usuario" "banco_de_dados" | cut -d':' -f'1')
       Nome=$(grep "$usuario" "banco_de_dados" | cut -d':' -f'2')
       CPF=$(grep "$usuario" "banco_de_dados" | cut -d':' -f'3')
       DDD=$(grep "$usuario" "banco_de_dados" | cut -d':' -f'4')
       Telefone=$(grep "$usuario" "banco_de_dados" | cut -d':' -f'5')
  else
      echo "este ID não existe"
      exit 1;
  fi
cat <<END
=============================
ID usuario: "$ID"
CPF: "$CPF"
Nome: "$Nome"
Telefone com DDD: ("$DDD")-"$Telefone"
=============================
END

}




#================== Menu de Entrada =========================#

case "$1" in
   -a|--adicionar)
         shift;
         adicionar
         ;; # chamando a função adicionar
   -b|--busca)
         shift;
         parametro="$1"
         buscar
         ;; # chamdo a função buscar
esac








